出版社: 人民邮电出版社
出品方: 图灵教育
原作名: The Clean Coder:A Code of Conduct for Professional Programmers
译者: 章显洲 / 余晟
出版年: 2012-9-1
页数: 178
定价: 49.00元
装帧: 平装
丛书: 图灵程序设计丛书·程序员修炼系列
ISBN: 9787115291578
内容简介 · · · · · ·
本书是编程大师Bob 大叔40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。
本书适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。
程序员的职业素养的创作者
· · · · · ·
-
罗伯特·C·马丁 作者
作者简介 · · · · · ·
Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客,除本书外,还著有《代码整洁之道》、《敏捷软件开发:原则、模式和实践》、《UML:Java程序员指南》等。他最近创办了cleancoders.com网站,专为软件开发人员提供教育视频。
章显洲,阿里巴巴高级技术专家,敏捷与精益方法实践者,专注于敏捷与精益管理,擅长互联网研发团队的构建与改善。业余以技术翻译作为个人修炼与回馈软件开发社区的途径。自2009年来,翻译和合译的技术书籍包含《精益软件开发艺术》、《微软的秘密》、《软件架构师应该知道的97件事》、...
Robert C. Martin,世界级软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report 前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客,除本书外,还著有《代码整洁之道》、《敏捷软件开发:原则、模式和实践》、《UML:Java程序员指南》等。他最近创办了cleancoders.com网站,专为软件开发人员提供教育视频。
章显洲,阿里巴巴高级技术专家,敏捷与精益方法实践者,专注于敏捷与精益管理,擅长互联网研发团队的构建与改善。业余以技术翻译作为个人修炼与回馈软件开发社区的途径。自2009年来,翻译和合译的技术书籍包含《精益软件开发艺术》、《微软的秘密》、《软件架构师应该知道的97件事》、《程序员的职业素养》、《看板》。偶尔也会出现在技术社区的聚会上作一些分享和演讲。博http://genericbrain.com 。新浪微博@章显洲-Arthur。
余晟,毕业于东北师范大学计算机系,副修中文,非正统型技术爱好者。曾任抓虾网、银杏泰克主力程序员,盛大创新院高级研究员,现任华南某电商公司技术总监。坚信计算机可以无限延伸人的能力,前提是人必须理解计算机的逻辑,所以对任何技术都不应该浅尝辄止,仅仅满足于“会用”。
目录 · · · · · ·
第1章 专业主义 1
1.1 清楚你要什么 2
1.2 担当责任 2
1.3 首先,不行损害之事 4
1.3.1 不要破坏软件功能 4
1.3.2 不要破坏结构 7
1.4 职业道德 8
1.4.1 了解你的领域 10
1.4.2 坚持学习 11
1.4.3 练习 11
1.4.4 合作 12
1.4.5 辅导 12
1.4.6 了解业务领域 13
1.4.7 与雇主/客户保持一致 13
1.4.8 谦逊 13
1.5 参考文献 14
第2章 说“不” 15
2.1 对抗角色 17
2.2 高风险时刻 20
2.3 要有团队精神 22
2.3.1 试试看 24
2.3.2 消极对抗 25
2.4 说“是”的成本 27
2.5 如何写出好代码 34
第3章 说“是” 37
3.1 承诺用语 39
3.1.1 识别“缺乏承诺”的征兆 40
3.1.2 真正的承诺听起来是怎样的 41
3.1.3 总结 43
3.2 学习如何说“是” 43
3.2.1 “试试”的另一面 43
3.2.2 坚守原则 44
3.3 结论 47
第4章 编码 48
4.1 做好准备 49
4.1.1 凌晨3点写出的代码 50
4.1.2 焦虑时写下的代码 51
4.2 流态区 53
4.2.1 音乐 54
4.2.2 中断 55
4.3 阻塞 55
4.4 调试 57
4.5 保持节奏 60
4.5.1 知道何时应该离开一会 60
4.5.2 开车回家路上 61
4.5.3 洗澡 61
4.6 进度延迟 61
4.6.1 期望 62
4.6.2 盲目冲刺 62
4.6.3 加班加点 63
4.6.4 交付失误 63
4.6.5 定义“完成” 64
4.7 帮助 64
4.7.1 帮助他人 64
4.7.2 接受他人的帮助 65
4.7.3 辅导 66
4.8 参考文献 66
第5章 测试驱动开发 67
5.1 此事已有定论 69
5.2 TDD的三项法则 69
5.3 TDD的优势 70
5.3.1 确定性 70
5.3.2 缺陷注入率 71
5.3.3 勇气 71
5.3.4 文档 72
5.3.5 设计 72
5.3.6 专业人士的选择 73
5.4 TDD的局限 73
5.5 参考文献 74
第6章 练习 75
6.1 引子 75
6.1.1 10的22次方 76
6.1.2 转变 77
6.2 编程柔道场 79
6.2.1 卡塔 80
6.2.2 瓦萨 81
6.2.3 自由练习 81
6.3 自身经验的拓展 82
6.3.1 开源 82
6.3.2 关于练习的职业道德 82
6.4 结论 83
6.5 参考文献 83
第7章 验收测试 84
7.1 需求的沟通 84
7.1.1 过早精细化 86
7.1.2 迟来的模糊性 87
7.2 验收测试 89
7.2.1 “完成”的定义 89
7.2.2 沟通 91
7.2.3 自动化 92
7.2.4 额外工作 93
7.2.5 验收测试什么时候写,由谁来写 93
7.2.6 开发人员的角色 94
7.2.7 测试的协商与被动推进 95
7.2.8 验收测试和单元测试 96
7.2.9 图形界面及其他复杂因素 97
7.2.10 持续集成 98
7.3 结论 98
第8章 测试策略 99
8.1 QA应该找不到任何错误 100
8.1.1 QA也是团队的一部分 100
8.1.2 需求规约定义者 100
8.1.3 特性描述者 100
8.2 自动化测试金字塔 101
8.2.1 单元测试 101
8.2.2 组件测试 102
8.2.3 集成测试 103
8.2.4 系统测试 104
8.2.5 人工探索式测试 104
8.3 结论 105
8.4 参考文献 105
第9章 时间管理 106
9.1 会议 107
9.1.1 拒绝 107
9.1.2 离席 108
9.1.3 确定议程与目标 109
9.1.4 立会 109
9.1.5 迭代计划会议 109
9.1.6 迭代回顾和DEMO展示 110
9.1.7 争论/反对 110
9.2 注意力点数 111
9.2.1 睡眠 112
9.2.2 咖啡因 112
9.2.3 恢复 112
9.2.4 肌肉注意力 112
9.2.5 输入与输出 113
9.3 时间拆分和番茄工作法 113
9.4 要避免的行为 114
9.5 死胡同 115
9.6 泥潭 115
9.7 结论 116
第10章 预估 117
10.1 什么是预估 119
10.1.1 承诺 119
10.1.2 预估 120
10.1.3 暗示性承诺 121
10.2 PERT 122
10.3 预估任务 125
10.4 大数定律 127
10.5 结论 127
10.6 参考文献 128
第11章 压力 129
11.1 避免压力 131
11.1.1 承诺 131
11.1.2 保持整洁 132
11.1.3 危机中的纪律 132
11.2 应对压力 133
11.2.1 不要惊慌失措 133
11.2.2 沟通 133
11.2.3 依靠你的纪律原则 133
11.2.4 寻求帮助 134
11.3 结论 134
第12章 协作 135
12.1 程序员与人 137
12.1.1 程序员与雇主 137
12.1.2 程序员与程序员 140
12.2 小脑 142
12.3 结论 143
第13章 团队与项目 144
13.1 只是简单混合吗 144
13.1.1 有凝聚力的团队 145
13.1.2 如何管理有凝聚力的团队 146
13.1.3 项目承包人的困境 147
13.2 结论 148
13.3 参考文献 148
第14章 辅导、学徒期与技艺 149
14.1 失败的学位教育 149
14.2 辅导 150
14.2.1 DIGI-COMP I, 我的第一台计算机 150
14.2.2 高中时代的ECP-18 152
14.2.3 非常规辅导 154
14.2.4 艰难的锤炼 155
14.3 学徒期 156
14.3.1 软件学徒期 158
14.3.2 现实情况 159
14.4 技艺 160
14.5 结论 161
附录 工具 162
· · · · · · (收起)
"程序员的职业素养"试读 · · · · · ·
“噢,笑吧,科廷,老伙计。这是上帝,或者也可以说是命运或自然,跟我们开的一个玩笑。不过,不管这家伙是谁或是什么,他真幽默!哈哈!” ——¬霍华德,《碧血金沙》 这么说,你确实是想成为一名专业的软件工程师,对吧?你希望能昂首挺胸向世界宣告“我是专业人士”,希望人们充满敬意地注视着你,对你礼遇有加。希望母亲们会指着你告诉自己的孩子要成为像你这样的人。这些都..
丛书信息
· · · · · ·
喜欢读"程序员的职业素养"的人也喜欢的电子书 · · · · · ·
喜欢读"程序员的职业素养"的人也喜欢 · · · · · ·
程序员的职业素养的书评 · · · · · · ( 全部 38 条 )
学习、纪律与交流——《Clean Coder》读后感
不限于程序员的职业素养课
> 更多书评 38篇
论坛 · · · · · ·
《程序员的职业素养》作者 Bob大叔访谈问题征集 | 来自天天向上 | 2012-09-18 09:22:33 |
这本书的其他版本 · · · · · · ( 全部4 )
-
Prentice Hall (2011)8.7分 239人读过
-
人民邮电出版社 (2016)8.7分 530人读过
-
电子工业出版社 (2012)8.5分 22人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- ThoughtWorks程序员读书雷达(2013) (张凯峰)
- ThoughtWorks读书雷达(2016) (张凯峰)
- 程序员必读 (沨雅)
- 从码熊到码雄之路 (不在服务区)
- ComputerClassical (红军大叔)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于程序员的职业素养的评论:
feed: rss 2.0
8 有用 hoterran 2014-03-01 23:00:56
距离称职的程序员还还远。 编码之外的东西决定你的下限。
0 有用 Frankel 2013-07-31 10:31:27
很多地方心有戚戚焉
2 有用 空气 2012-11-24 23:59:34
第 100 本技术书籍。书名很霸气,内容是教你如何做更“专业”的程序员。 很多章节都有共鸣,确实可以从书中学到更好的做法。 关于时间预估的方法还是第一次见到,感觉方法不错。
2 有用 中贰鹏 2016-04-04 15:00:52
有了工作一年的经历,再看这类书,觉得受益匪浅!大年在学校,还是图羊图森破啊。
3 有用 liuyunclouder 2015-06-05 16:58:16
软件行业的确是太缺少类似医生、飞行员这类职业应有的传统,技术的传承基本上为零,都需要自学,但这并不是一种好的状态,言传身教地实战始终是最有效的技艺传承方式。技术尚且如此,更别说职业素养这种“虚”的东西,幸好有这本书,让我一窥大师应有的样子
0 有用 momo 2024-04-22 16:10:55 广东
好书,花了一下午时间看完了。一本非常实用的面向“非专业人士”方法论集合,很干货,提到的好多坑也正是之前在狂踩的。 嗯,要开始有意识培养TDD的编码方式了。
0 有用 小翼>W< 2024-02-07 12:31:17 中国香港
作者是可怕的技術主義度maxmax程序員 一些編程思想或是程序員分享其職業生涯的書在我看來都是想盡力追求所謂的代碼整潔和項目完整...但這個始終都是一個所謂的假設,感覺相比起從頂層開始進行大量的設計,還是邊改邊重構代碼會舒服一點...
0 有用 畅畅 2023-12-28 03:07:14 江苏
最近有些职业倦怠,重新找出这本书来翻翻,找回 motivation & enthusiasm 什么是 be professional? 0. 锻炼技术能力不是雇主的而是自己的责任 1. 要勇于说”不“ don't be pushed around. 2. 要勇于说”是“,愿意承诺和承担责任,不要似是而非。3. Work Life Balance. 4. Teamwork and collabor... 最近有些职业倦怠,重新找出这本书来翻翻,找回 motivation & enthusiasm 什么是 be professional? 0. 锻炼技术能力不是雇主的而是自己的责任 1. 要勇于说”不“ don't be pushed around. 2. 要勇于说”是“,愿意承诺和承担责任,不要似是而非。3. Work Life Balance. 4. Teamwork and collaboration 5. Learn from others. (展开)
0 有用 Mortal 2023-11-15 22:16:01 俄罗斯
产品经理看了,思路也清晰很多,关于测试的那一段,解决了多年的疑惑
0 有用 夜想曲 2023-10-23 20:47:35 广东
在从业近3年,努力从刚独当一面到资深程序员转变的过程中,读到Bob大叔的这本著作,明白了之前太多没能意会的道理:专业程序员,编码水平可能只占小部分,想达到专业水准,仅仅把代码写整治写好是远远不够的。比如时间管理(每周168小时,40小时给公司,56小时睡眠,52小时自由分配,至少还能有20小时用于职业发展),练习kata(每天上下班抽空练算法题思维),回馈开源社区(抽空在github整自己想做的项... 在从业近3年,努力从刚独当一面到资深程序员转变的过程中,读到Bob大叔的这本著作,明白了之前太多没能意会的道理:专业程序员,编码水平可能只占小部分,想达到专业水准,仅仅把代码写整治写好是远远不够的。比如时间管理(每周168小时,40小时给公司,56小时睡眠,52小时自由分配,至少还能有20小时用于职业发展),练习kata(每天上下班抽空练算法题思维),回馈开源社区(抽空在github整自己想做的项目),合理预估开发时间(定期要说长,讲乐观/正常/悲观交付概率,而非单个具体日期),做好TDD单测和确认验收流程,敢于担责敢于拒绝...etc。我们改变不了环境,但也确实能审视到自己,从改变自己开始,提高自身的职业素养,长远看,肯定是受益终生的。 (展开)